import createApp from './create-app'

export default context => {
  return new Promise((resolve, reject) => {
    const {app, router} = createApp()

    // 给我们的路由 推送一条记录
    // 只有push之后才会执行这部分代码，匹配到调用的组件
    router.push(context.url)

    //服务端渲染用到的
    router.onReady(() => {
      const matchedComponents = router.getMatchedComponents()
      // 如果数组不存在 或者为 0
      if (!matchedComponents.length) {
        //请求错了
        return reject(new Error('no component matched'))
      }
      context.meta = app.$meta()
      resolve(app)
    })
  })
}
